package com.cskaoyan.javase.oop1._13block._1building.notice;

import javafx.geometry.VPos;

/**
 * 注意事项
 * 一些使用构造代码块需要注意的地方：
 *
 *      1.建议应该将构造代码块，放在成员变量的声明和显式赋值语句的下面：
 *      一方面，如果构造代码块赋值在上，成员变量声明在下，逻辑上会很奇怪。
 *      另一方面，如果对象中成员变量的赋值，依赖于构造代码块和显式赋值的代码书写顺序，容易引发错误。
 *      当然如果你是为了出题，本身就存在为难的意味，不在此限制内。正常写代码不这么做即可！
 *
 *      2.因为构造代码块最终会加入构造器，所以构造代码块当中也可以使用this关键字，指向当前对象。
 *      但是实际使用价值和意义不大，仅作了解。
 *
 * @since 17:43
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
}

class A {
    int num = 11;

    {
        num = 22;
        // 构造代码块中的this只能用于表示使用对象,不能用来表示调用构造器,这是构造器中this的专属用法
        test();
        this.test();
    }

    public void test() {
    }
}